このブログを検索

大文字小文字を区別する 正規表現

Atelierで“avi ファイル”が含まれるブログ記事

2020年5月31日

隠居のMusic Library

NHK-FMでの音楽収集が毎日の慣習になるほど、病膏肓に入っている。これら収集した曲は、PC上では、MediaMonkey というデータベースを使って、PC のデスクに収納している。一部は、Google Drive を使って知人の方たちと共有しているが、収納容量が足らなくなってきた。
 15年ほど続いてきた Brog のために、サーバーをレンタルしているが、このサーバーの容量に、かなりの余裕がある。この空き地を利用して Music Libraly を設置することにした。
 収録した音楽を一般に公開することは問題があるので、ページに敢えて、訪問くださる方だけに楽しんでもらえたらいいのではと、このライブラリーを作成することにした。
 Google Chrome でも Microsoft Edge でも、下のリンクをクリックするとそれぞれのMusic Player が立ち上がり、音楽が流れるはずである。


 現在、InternetExplorer では、自動的に music player が立ち上がらないようです。Google Chrome か Microsoft Edge でアクセスください。

【2020/6/4】 音楽DB(MediaMonkey)から、ハイドンの交響曲を集めてみました。100番(軍隊)、33番(めんどり)、98番、104番(ロンドン)、103番(太鼓連打)、45番(告別)の全曲が流れます。
【2020/6/5】 Classic Cafeで収録したシューベルトの曲を集めてみました。全曲収まりませんがとりあえず第1集です。
【2020/6/10】 NHKラジオ深夜便で 2020/5/30 に特集のあった雨を題材にしたPop の特集がありましたので、2015年に録音していた同様の曲と合わせて連結してみました。雨の季節になるようです。
【2020/6/18】 今までに収集している Louis Armstrong の曲からめぼしいものを20曲集めてみました。
【2020/6/26】新たに収録したもので、再度聞きたいと思うものを、ランダムに追加しています。関連イメージをクリックすると Player が立ち上げるはずです。26日に収録した Rafael Aguirre というギタリストのコンサート録音はなかなかいいと思います。(個人的な感想です。)
【2020/7/20】深夜便で ちあきなおみの特集がありました。過去に収録していた曲と合わせて、31曲をアップしました。歌はうまいですね。
【2020/7/28】7月23日に、classic のリクエスト特集放送がありました。6時間35分にわたる長時間番組です。収録した33曲をアップしました。容量の関係で途中までですが。
【2020/9/26】ずいぶんのご無沙汰なんですが、9月22日に【今日は一日ショパン三昧!】という番組がありました。司会をしているのは、"ぶら、タモリで"おなじみのNHKアナウンサーの林田理沙さんと吉田真人というアナウンサーでした。林田さんは東京芸大出身でピアノが得意らしく、ショパンに関する卒論を書いたらしいんです。冒頭に二人のピアノ演奏がジングル的にあるのですが、なかなかのものです。さすがNHK、多彩な人間をそろえています。
それはさておいて、6時間35分におよぶ録音から、曲部分のみを抜き出す作業は時間を消費しましたが、曲紹介部分など変なところもありますが、なんとか36曲をファイル化しました。
【2021/3/14】長らくさぼっていました。時間が過ぎるのは早い。最終更新してから早くも6か月たった。ただ、この間にもNHK FMから収録は継続していた。特に、音楽の泉クラシックカフェは、ほぼ毎回収録した。その中で、懐かしいナンバーにもであった。それらをこのページにアップロードして、BGMとして聴こうと想う。
 最近、ヴィヴァルディの四季が、音楽の泉で、春・夏・秋・冬と全曲放送される機会に恵まれた。放送は、四季ごとに別々だったが、収録したものを連結してみた。通して聴ける機会はなかなかない。
 3月に入って、ロッシーニの歌劇序曲の特集が、音楽の泉で放送された。セビリアの理髪師ウィリアム・テル序曲など4曲、若かりし頃から聴きなれた曲をつないでみた。
 同じころに、ペールギュント組曲1番・2番が放送された、クラッシクカフェは、放送時間が1時間50分と長いので、交響曲など全曲が長い曲でも放送されることが多いので、このような収集にはありがたい。
 日本人アーティストの演奏が、クラッシクカフで放送されるこは少ないが、2月に田部京子さんの特集があったので、収録した。
【2021/3/19】3月18日のクラッシックカフェで放送されたベートベンのバイオリン・ソナタ第5番「春」は、懐かしいメロディーである。
【2021/4/17】4月11日の深夜便で放送されたトランペット特集が良かったので、収納してみた。アンカーは、森田美由紀さん(深夜便の放送は、ベテランアナウンサーが務めている。)で、余計なおしゃべりがないので、録音を分断せずに、番組まるまるをアップしてみた。
【2021/4/19】4月13日のクラシックカフェで、ドボルザークの交響曲第9番「新世界から」の放送があった。この第二楽章は、お馴染みの「家路」のメロディーとして親しまれている。もう60年も前に、カウンセラーをしていた教育キャンプ場で夜9時になると就寝を促す音楽として流れた。何度聴いても懐かしい。
【2021/5/11】5月2日に、昼の0時15分から夜の9時(夕方ニュースなどの時間があるが)まで長時間のクラシック・ファンからのリクエストを放送することがあった。クラッシク音楽にうん蓄深いMCの工藤アナのおしゃべりはいささか鼻についたが、これを録音した。理由はよくわからないが、夕方の時間に録音ミスがあって8曲ほど抜けてしまったが、36曲を収録することができた。これをこのライブラリーに収納した。ついでに、昨年春のリクエスト集も収納した。
4月11日に名演ライブラリーとして放送された、ピアニストのブライロフスキーの録音も収納した。
【2021/6/6】先日、田部京子リサイタルの放送を録音したので、追加した。小品だが、ピアノ用に編曲したシューベルトのアヴェマリアはなかなかいい。
【2021/8/8】ひと月以上も前に録音していた 編集ができていなかった Classic Cafe の「ジョプリンのエンターテイナー 他」という特集をアルバムに収録してみた。20曲以上の小品であるが、Scott Joplin の「エンターティナー」など、気分転換にいい曲が収録されていた。何回聴いても心癒されそう(個人的感想です)なので、Web Albumに収載してみた。
【2022/7/6】収納する曲目が明示される方がいいのではないかと特集のサブページを作ってみた。とりあえず、モーツアルトの曲から、10曲選んでサブページにした。曲は、You Tube で公開されている動画から、【ラジ録12】で音声のみを抜き出して、mp3ファイル化したものと、FMから録音したライブラリーに収納されているものとを使った。モーツアルトの曲は、ケッヘル番号がついているので整理しやすい。
【2022/7/20】シューベルトの10曲を選んで、ページを作った。
【2022/7/26】Jazz 項目に、Saxの名手である SonnyRollins の名盤 Saxophone Colossusの全曲を収納した。

日本の歌曲Jazz&LatinPops&Countryclassical
中田喜直(作曲)集 (44'15") Benny Goodman (1°19'17") ABBA (39'59") Flute concert (30'27")
郷愁の歌 from FM (3°22'54") Miles Davis (2°7'19") Carpenters (35'31") Request from listner-01 (3°8'58")
美空ひばり-medley (2°36'10") Tango Popular (1°12'42") BrueGrass (2°52'46") Request from listner-02 (3°22'54")
石原裕次郎-medley (1°19'59") Louis Armstrong collection (1°27'43") Songs-about-rain (1°12'41") ハイドンの交響曲 (2°31'28")
フォーク'60'70 (1°19'59") Saxphone Colossus シューベルト作曲ー1集 (3°22'54")

ちあきなおみ.jpg Request-3.JPG
シューベルト
未完成
(26'00")
Jazz的Pops
24曲 1°13'41"
RafaelAguirre
(classical Guitor)
15曲 1°28'05"
ちあきなおみ集

31曲 2°00'13"
Request from
listner-03

33曲 3°22'54"
Chopin zannmai

36曲 3°10'42"
Vivaldi-四季.JPG Rossini-Abado.jpg Greig-02.jpg Greifg-田部京子_.jpg Violin-#5.jpg Romantic.jpg
ヴィヴァルディ
【四季】
(45'43")
ロッシーニ
歌劇序曲集
(44'48")
グリーグ
ペールギュント
(33'40")
グリーグ 叙情小曲集
Piano Recitalから 
田部京子
(1°44'28")
ベートベン
バイオリン・ソナタ
第5番「春」
 
(24'58")
ラジオ深夜便
Romantic Concert
トランペット特集
 
(50'57")
新世界から.jpg Brailowsky.jpg 202005Request.png 210502NHKFM.png 210502NHKFM.png
ドボルザーク
交響曲第9番
新世界から
 
(43'53")
ピアノ名演奏
Alexander Brailowsky 
(1°47'05")
Request集
request-04
2020・5・11
(3°19'03")
Request集
request-05
2021・5・2
(3°22'54")
Scott Joplin 他
Classic Cafe
2021・7・22
(1°40'01")

モーツアルト(1756-1791) ベスト10 他
シューベルト(1797-1827) ベスト10 他
ベートーベン(1770-1828) ベスト10 他



2020年5月26日

隠居のPC備忘録:PC作業で、遭遇した案件について記録する。

  1. 花の名前の検索方法:Google の画像検索(Google の検索窓に、画像検索と入力)
  2. Google カスタム検索を設置する方法:https://support.google.com/customsearch/answer/4513751?hl=ja
  3. PhotoScapeで写真の合成をする:https://tsuyoshioka.co.jp/webpc/photoscape-2/  
  4. HTML5 audio の使い方。:https://stackoverflow.com/questions/5635365/html-5-audio-tag-width 
  5. ROXIO Creator NXT7 での CD  ファイナライズ:ツールバーの【ツール】のドロップダウンリストに【ファイナライズする】がある。CDを再度入れなおした方がいいかもしれない。
  6. Canon MG7130 プリンターで印刷がうまくいかない。LAN接続は問題ない。ジョブ(キュー)が詰まっていて進まない状態だったようだ。この印刷キューは、Windows10 の【設定】⇒【デバイス】⇒【プリンター】にある。「キューを開く」を実行すると印刷してくれた。
    参照:https://magazine.synapse.jp/info/post-7247
  7. Onedrive エクスプローラで、画像ファイルのサムネイル表示されなくなっていたが、PCを再起動すると表示されるようになった。<2020/5/26)
  8. いただいたコメントを公開するには、コメントを承認の上、編集で【変更を保存】しなければならない。
  9. Music Libraly を設置した。Google Drive には、収容しきれなくなったファイルを置く場所である。公開を避けるために、Basic認証を設置した。
  10. mp3ファイルを結合するソフト、Herium Audio Joiner は長さに限界がある。ファイル数ではなくて、結合した結果の長さ3時間22分54秒が限界のようである。
  11. Google カレンダーで定期的な予定を設定した。方法は、【googleカレンダー 定期的な予定】で検索でkる。(2021/9/20)
  12. 先月、旧のスマホ(SO-04H)の電池が熱を持ち裏面が膨れてくるなど支障がでてきたので、新しいスマホ(Xperia 8 Lite)に変更した。iPhoneにしたかったが、移行がいろいろと煩雑そうなので、android のままにした。変更した際に、楽天Edyの残額をうまく移動できなかった。結局、楽天に電話でヘルプしてもらった。チャットなどいろいろとトライしてみたが、うまくいかなかったので、結局電話のヘルプに頼った。調査をいれて約1か月ほど時間がかかったが、1万5千円ほどが戻ってきた。ありがとうございました。(2021/9/22)
  13. 65インチ4K対応の新しいTVを設置した。この頃のTVは、インターネットにも対応している。WiFiでネットに接続した。Google検索がTVの大画面でできる。音声検索ができるので、便利だ。(2021/9/27)
  14. しばらく無頓着にしてきたが、再度ブログ画面上に、Amazonアソシエイトのリンクボタンを置くのことを始めた。Amazonのページ下部にあるアソシエィトガイドをクリックすると目標URL作成ガイドがあるので、これに沿ってボタンを作成し、ブログ画面上に設置すればよい。(2021/10/8)
  15. Portable SSD 1TB(Crucial X6)を導入した。これまで、いろいろなHDDのフォルダーに散在していた音楽ファイルを種別に(例えば交響曲ばかりを)集める(Media Monkeyを利用して)など、このSSDに収納することにした。接続は、C-typeのUSBコードなので、スマホとの接続もでき(両端がC-typeのコードがついている)、スマホにデータ転送も簡単そうである。(2021/10/24)
  16. NHK-FMなどで収録した音楽ファイルを特集して、CDに焼いたりする。できれば、収録したMP3のファイルの曲名・Artist・作曲者(クラシックでは、ベートーベンのピアノ協奏曲というように他の曲と区別するのに必要である。)をリストしてExcelの表にでもして印刷しておきたい。このために、今更なんだが、[コマンドプロンプト]と Excel を使う方法を学習したので、ブログの記事にしてアップしておきたい。(1921/11/8)
  17. 先日、BHK BS-1で、昨年暮れのショパンコンクールの模様を放送していた。これを、BD レコーダーで録画した。BD-REにダビングしてパソコンで見ることにしていた。が、DELLのデスクトップを置き換えたNEC Lavieで再生しようとすると、できない。階下に置いているFujitsu のノートブックでも再生できない。いろいろと調べてみると、どちらのパソコンも内蔵しているプレーヤーがブルーレイのデスクには対応していないことが分かった。購入するときに対応しているかどうかのチェックを抜かしたしまったらしい。(今時、PCのドライブが、BDに対応していないものがあるとは思っていなかった。)以前に買っていた外付けのプレーヤーをみるとBD対応になっている。これを使えば、録画ダビングしたBDのディスクが再生できた。(2022/1/26)
  18. 重宝していた、NAS DS115に突然アクセスできなくなった。FM録音のMP3ファイルを多く収納していたので、青くなった。ハード的にLANケーブルを変えるなどしてエラーがないことを確認した。再度、初めに設置したように、セットアップもこころみたが回復しない。どうやら、セキュリティの問題らしいことが分かったので、最近の行為を思い浮かべてみると、McAfeeのセキュアVPNが無効だったのを有効にしたことが原因らしいと突き詰めた。元通り無効にしてみると、サーバーとして動くようになった。セキュリティの強化に越したことはないが、このようなことも起こる。(2022/7/16)
     だが、残念ながら、いろいろといじっているうちに、クラッシュしてしまった。オリジナルのファイルは、他のディスクに残っていたのでほっとしている。(2022/7/19)
  19. PCからSony WALKMAN(XRJ-65X90J)に転送した曲(MP3)が、WALKMAN画面で表示されなく再生もできないことがあった。原因をいろいろ探るとファイルの名前が長すぎることが原因だった。字数制限を調べたが不明だった。(2022/7/17)
  20. Line トークのグループ相手に相手先が簡単に再生できるように、音楽を送付する方法が分かった。自身のスマホで送ろうと思う曲を収納しているアルバムなどから選曲し(音楽プレーヤーなどで)、曲名の右横の縦3点リーダーをタップする。表示される項目からシェアを選択すると表示される画面から Line を選択する。トークグループから、対象とする相手(グループ)に転送するだけでよい。受信先には、プレーヤーが表示される。(2022/7/124)
  21. Amazon Music で流している曲をmp3ファイルで保存する方法。ラジ録で、ダイレクト録音を選び、録音(REC)ボタンをクリックしてから、曲を流す。曲が終わったら、STOPボタンをクリック、デスクトップにできたアイコンを取り込む(「musicーamazon music」フォルダーでいいだろう。あとは、通常の録音ファイル処理をすればいい。ファイル名をつけるのに手間がかかるかもしれない。違法かもしれないが。

2015年1月19日

隠居のドライブ:ドライブ・レコーダーを試してみる


 どこかにドライブに出かけるとき、車を運転しながら前方の風景をカメラで撮りたくなる時がある。だが、運転中は危険である。ブログに旅行記などを記録するときなど、道案内の道路標識や前方に見えた景色などを写真で掲載できれば面白いと思っていた。
 車で事故を起こした時の状況を記録するドライブ・レコーダーのパンフレットを見ていると、車のスイッチが入っている間はずーっと記録しているらしい。そして、事故を起こして衝撃を検出した場合には、衝撃録画データが記録される仕組みになっている。言うまでもなく、ドライブ・レコーダーは、そのためのものであり、保険みたいものである。
 が、その本来の機能から外れて、ドライブ記録に使えば面白いのではないかと検討してみた。デジカメで動画を撮影した時と同じように、一瞬を切り出して静止画にすることもできる。これは使えそうだ。
 隠居の道楽として、comtecという会社のドライブ・レコーダー(isafe simple)を装着してみることにした。配線などややこしいから、ディーラーまかせである。

 記録は、microSD カードに記録される。記録される映像は、映像の大きさが、1280x720px(HD) と 640x360px(SD) の2つ、フレームレートは30,15,10.5fps の4つから選択できるが、ディーラー設定では HD 30fps となっている。付属の8GB microSD カードでは、目安として約48分しか記録できないようだ。それより長い場合は、上書きされていく。もう少し、フレームレートを落とすとか容量の大きいmicroSD カードすれば、長時間記録できそうである。microSD カードは、32GBでも2000円弱であるから、差し替えをもっているといいかもしれない。

 実際の記録を確認してみた。ディーラーで装着した後は、ACCスイッチが ON であるかぎり(エンジンがかかっているときはもちろん)、録画が始まっている。
ドライブ・レコーダーの本体から microSD カードを抜き出し、PCのカード・リーダーに挿せば表示されるフォルダーに iSafeViewer.exe というビューアソフトが表示されるので、これをを実行すると下のスクリーンショットのように表示される。

ビューアソフトの画面 150118-3.JPG

 動画は、約1分ごとに分けて記録されている。画面の右上には、Google Map で現在地がマークされている。この地図は、車が移動するにつれて変化していく。 isafe では、位置測定はアメリカのGPS だけでなく、ロシアのグロナス、日本のみちびきも利用して精度の向上を図っている。
 ビューアソフトの画面下の、動画アイコンmovie.JPGをクリックすると、該当ファイル(AVI ファイル)を保存することができる。また、カメラアイコンphoto.JPGをクリックすると画面に表示されている静止画を下のスクリーンショットのように切り取り保存することができる。形式は、jpg である。

動画から切り出した静止画 driverecorder-005-010-000698.jpg



 ディーラーで装着した後、自宅に帰る道で記録された動画の一部を取り出して保存し、Youtube にアップしてみた。まともな逆光であるが、まあまあの記録になっているのではないかと思う。 鳴っている音は、カーオディオとウィンカーの音である。
追記(2015/1/23): 動画の後ろで流れている音は、カーオーディオで流していたJazz であったが、Youtube で著作権に引っかかるとの warning が表示された。それで、動画の音声は途中から削除した。
音をミュートする設定もできるので、今後は音無しの録画にしたい。

記録されている動画の一部



2013年5月11日

隠居、LCC(Peach)で九州に飛んでみる


   今話題のLCCで旅行をしてみることにした。幸い、LCC のひとつ Peach Aviation は、近くの関西空港を拠点としている。
 最近、旅行の行き先を決めるのは、今までに宿泊したことのない都道府県にしようとすることが多い。九州では、大分・宮崎や熊本・鹿児島には行ったことがあるが、佐賀と長崎に泊まったことがなかった。それで、関西空港から福岡空港まで飛んで車を借り、唐津と雲仙に泊まって、長崎空港から関空まで戻ってくる2泊3日の計画を立てた。
 ANAやJAL の正規の運賃では、福岡まで飛んで長崎からかえってくると一人4万7千円ほどかかるが、Peach だと座席を指定しても、ひとり1万1千円ちょっとであった。ちなみに、JR でいっても4万円はかかるようだ。

 初めてのLCC利用なので、おっかなびっくりではあったが、結論的に言えば、我々のような年金生活者には、極めて文字通り reasonable である。
 普段から、ネットを使って買い物をしたり、バンキングもしているので、ネットで搭乗予約をするのはありがたいぐらいである。(ちなみに、新幹線も EX-ICmobile-Suica を使えば、パソコン(スマホ)から座席予約ができる。)

 LCC のひとつである Peach の国内線利用経験を、年寄りの備忘録として記録しておきたい。
 
  1. 予約は、Home Page の【予約/購入】タブをクリックすることで始められる。その後は、【予約の流れ】で説明されている通りの手順で進めば、問題はない。
  2. 最終的に、予約同意のチェックボックスをチェックし、確認のボタンをクリックすれば、手続きがすすみ、予約確認書が表示される。
  3. また、登録したメールアドレスに、下のような下のような予約確認書が送信されてくるので、コピーをしておく。この右上に表示されているチェックイン用バーコードと予約番号が重要である。
    予約確認書
    クリックすると大きくなります

  4. 予約の確認や変更は、右上に表示されている予約番号が必要である。出発当日、コピーした予約確認書をクリアファイルに挟んで、カウンターに持っていく。
  5. 関西空港でのPeach 搭乗は、新しくできた第二ターミナルで行う。以前のターミナル(第一ターミナル)から、連絡バス(無料)が出ている。私が乗った空港リムジン Sorae は、第二ターミナルまで行ってくれる。ただし、第一ターミナルから第二ターミナルへは、空港内をくるくると回るので10分ほどかかる。
  6. 余計な装飾のない第二ターミナルでは、ピンク色で統一されたPeach の搭乗手続きのカウンターはすぐわかる。 自動チェックイン機が3台ほどおいてあり、そのバーコード読み取り装置で、予約確認書の右上に表示されているバーコードを読み取らせる。(係員がそばにいるので教えてくれる。)
    読み取るとディスプレイ画面に登場予定者の名前が表示されるので、家内と二人分をタッチし、確定ボタンをタッチすると、下のような薄い紙の搭乗券が発行される。上部のバーコードは、搭乗の際に使用されるので、しわくちゃにしないようにしなければならない。
    ANA や JALの搭乗券はもっとしっかりした紙である。このあたりもコストダウン志向がしっかりしている。

    搭乗券
    Peach02s.jpg

  7. 関西空港の場合、搭乗口から飛行機までは30mほど歩く。翌々日、到着したときは雨で風が強かったので少々濡れた。
    福岡空港・長崎空港では、ボーディング・ブリッジが取り付けられた。
  8. 機内は通路や座席間が少々狭い感じはあるが、いわれるほどのことはない。荷物棚も皆さんかなり大きな荷物を積んでいた。
    空港まで一時間以上乗ったリムジンバスに比べれば、随分快適である。
  9. 飲み物を配って歩く余計な機内サービスやラジオや音楽を聴くなどのオーディオサービスはないが、スマホを機内モードにして好きな音楽を聞けばよい。私は、昔からそのスタイルだ。

Peach 搭乗口;クリックすると大きな写真になります 搭乗口から飛行機まで歩く:関西空港;クリックすると大きな写真になります 使用機材はAIRBUS A320-200型機;クリックすると大きな写真になります 前の座席との間隔;クリックすると大きな写真になります
天井など質素な作りとなっている搭乗口付近:関西空港 搭乗口から飛行機まで歩く:関西空港 使用機材はAIRBUS A320-200型機 前の座席との間隔:短い足では十分だ。
 

   

2012年12月10日

(続)バードフィーダーにやってきたシジュウカラ(動画)


 前回に続けてバードフィーダーにやってくる小鳥たちの動画をアップした。
 ヤマガラは一羽で来ることが多いが、シジュウカラは大抵2羽以上である。シジュウカラの繁殖期は、3月~4月とされているので、番ではないと思われる。
 このフィーダーをぶら下げている梅の木には、その他にヒヨドリ、メジロ、スズメもやってくるが、餌のヒマワリの種には手をださない。シジュウカラは、牛脂にも手をだすそうだが、牛脂を餌にするとあまり来てほしくないヒヨドリがやってきそうだ。

 
バードフィーダーにやってきたシジュウカラ
121114_001.jpg
写真の再生ボタンをクリックすると、You Tube が立ち上がります。
You Tubeの画面右下のYoutube07.JPGをクリックしていただくと大きな画面となります。


 今回で、デジカメで撮影した動画をブログ(MT4)にアップロードする方法が、私なりに(私の環境で)ほぼ定着したので、備忘録として記録しておきたい。

  1. Coolpix P510 の場合、VGA(640x480)で撮影する。後で AVI ファイルに変換するときに時間が短い。ただ、もう少し機種や条件を変えて学習する必要がある。
  2. FREESTUDIO の Free AVI Video Converter で、AVI ファイルに変換する。
    変換せずに、MOV ファイル(Nikon の場合、録画は MOV ファイルとして記録される)のまま、Apple Quick Time Pro で編集できるが、タイトルの挿入など少々難しい。
    また、You Tubeにも編集機能があるが、Movie Makerのように編集はできない。慣れないせいもあるかもしれないが。
  3. Microsoft の Movie Maker を立ち上げる。Movie Maker の使い方については、【MovieMaker でデジカメ AVI ファイルを編集してブログに載せてみる】に詳しいが、今回のような大きなファイルを読み込むと下のスクリーンショットのように、自動的に多くのクリップに分割するようだが、何を基準に分割されるのか不明である。ただ、細かに分割してクリップにしてもらうほうが、編集はやりやすい。

    Youtube08.JPG

  4. Movie Maker で編集したファイル(拡張子が wmv というファイルになる)を You Tube にアップロードする。上の記事で紹介したように、wmvファイルをそのままサーバーにアップロードすることもできるが、You Tube にアップロードしておけば、Yahoo Webplayer を使って、ブログの中に、You Tube の機能を持ち込むことができる。これらの方法については、【ブログ(MT4)に、動画(You tube)をアップロードする】に記録している。
  5. Yahoo Webplayer は、Windows Media Playerが存在しないタブレット(Android tablet で確認)でも機能するので、タブレットでも動画が確認できる。

2012年12月 3日

バードフィーダーにやってくるシジュウカラとヤマガラ


 11月の中頃に、バードフィーダーを少し弄ってから、シジュウカラとヤマガラがよくやってくるようになった。
 一日に何回かとなく飛んでくる。フィーダーを架けている梅の木の枝に餌のヒマワリの種を嘴に咥えて上がり、両足の間に挟んで器用に種の中身だけを食べている。梅の木の下には、殻がいっぱい落ちている。

 このごろは、だんだん慣れてきたのか、枝での滞在時間が長くなった。特にヤマガラは、人が下にいてもあまり気にはしない。
 梅の木を見下ろせる二階の部屋の窓から、コンデジの Canon IXY900IS の動画撮影で撮ってみた。このカメラが最も軽いので、手持ちで撮りやすい。鮮明度がもう一つだが、Microsoft の movie maker で編集しやすい AVI ファイルで記録してくれるので、あとの処理が簡単である。

 作製した動画は、Yahoo! media player と You Tube を使ってブログにアップした。

下の写真の再生ボタンをクリックすると
You Tube が立ち上がります。
121116_027.jpg


2012年9月30日

隠居のパソコン備忘録: ブログ(MT4)に、動画(You tube)をアップロードする


 ブログに動画を載せたい場合がある。Jazz street での楽団演奏の録画や水鳥の動きなどである。このごろのデジタルカメラは、動画撮影機能がついているのが普通である。
 今年も開催された和泉の国ジャズストリートでは、Nikon Coolpix P510 で、SLMC(泉陽高校軽音楽部)の演奏を録画した。設定は、初期設定のままである。初期設定では、HD 1080p(1920x1080) となっている。それ以外のファイルに関する情報は取説には記載されていない。
 デジカメで撮った写真や動画は、Picasa3 でパソコンにとり込む。取り込んだファイルの拡張子は、写真の場合 .jpg であるが、動画は .MOV となっている。ファイルの種類は、Quick Time ムービーとなっている。
 これでは、Microsoft のWindows Media Player では再生できない。Quick Time ムービーは、Apple が開発したソフトだから無理もない。撮影した動画をタイトルをつけたりして編集するのは、フリーのソフト(Windows XP service pack2 に付属している)である moviemaker を使っている。
 デジカメで撮った動画の最初は、Canon IXY900IS であった。これでの動画の形式は、Microsoft の AVI ファイルだったので、moviemaker で編集することができた
どうやら、Canon と Nikon はこんなところでも張り合っているらしい。

 使い慣れた moviemaker で編集するためには、MOV を AVI に形式変換しなければならない。今年の冬に、ハシビロガモの集団採餌行動を NikonD7000 で録画編集した時には、ファイルの形式変換は、AVS video converter を使用した。今回も、AVI に形式変換し、moviemaker に読み込んで見ると、次のようなメッセージが出てファイルを読み込めない。
ファイルの再生に必要なコーデックがコンピュータにインストールされていないため、aviファイルを読み込むことができません。必要なコーデックを既にダウンロードしてインストールしている場合は、Windows ムービー メーカーを閉じてから再度開始し、もう一度ファイルを読み込んでください。

 必要なコーデックというのを探すソフトを導入して、探してみたが要領がよく分からない。AVS video converter の最新バージョンをインストールして動かそうとしたが、確か以前は無料(お試し期間中?)だったのが有料になっている。しかも、結構高い。それで、試行錯誤してみると FREESTUDIO というパッケージの中に、Free AVI Video Converterというソフトがあるのがわかった。
 このソフトで MOV を AVI に形式変換してみると、今度は moviemaker で変換後のファイルを読み込むことができた。タイトルをつけるなどの簡単な編集をして、レンタルサーバーにアップロードし、ブログ本文からリンクすると再生するようになった。

 和泉の国ジャズストリートでのランブリンフェローズという楽団のデキシーを、Sanyo(現在、この会社名はなくなっている) の PCM レコーダーで録音した .mp3ファイル を Yahoo Media Playerを使ってブログに記載しようと再調査していると、Yahoo Media Player は Yahoo webplayer と名前が変わって、動画(You Tube)も簡単にアップロードできるようになっている。
アップロードの方法は簡単である。Yahoo が提供するつぎのような JavaScript を、ブログのHTML <head> 部に置く。Instruction では、<body>部の下部におけとあるが、Movable Typeでは、 上手くいかなかった。 
<script type="text/javascript"> var YWPParams = { theme: "silver" }; </script>
<script type="text/javascript" src="http://webplayer.yahooapis.com/player.js"></script> 
上の行は、ブログで表示するときに、枠を黒ではなく、灰色にするために入れたスクリプトである。なくても問題はない。
 YouTubeの動画をブログで表示するには、次のようなコードを挿入したい場所に、記述するだけでよい。
<a href="http://www.youtube.com/watch?v=elg9OjDJIB8&feature=youtu.be"><img alt="DSCN0641.jpg" src="http://n-shuhei.net/atelier/photo_senboku/DSCN0641.jpg" width="200" height="133" /></a>

イメージファイル部分をテキストにしても問題はない。イメージ写真にすると、真ん中に再生アイコンが表示される。

 ブログ上にYouTube の動画を表示するには、もちろんYouTube に動画をアップロードしておく必要がある。今まで、YouTube に動画をアップロードした経験はないが、それほど難しい作業ではない。
  YouTube にアクセスすると YouTube は Google の一部になっているので、すでにGoogle にアカウント(普通は、gmailのアドレスがID )を持っておれば、マイチャネル(登録チャネル)が表示されるようだ。

upload00.JPG


 右上のツールタグの【アップロード】をクリックすると下のスクリーンショットようになる。
upload01.JPG

 PC にある動画(この場合、hashibiro.wmv というファイル:形式は、ほとんどOK のようだ)を選んで、アップロードすると、下のような画面となり、YouTube のファイル名(URL)が右上に表示される。
upload03.JPG
 下の Sample画像は、ブログの中に、次のように上のURL 組み込んで表記している。
<a href="http://www.youtube.com/watch?v=v4kdwpAnmGM&feature=context-gau"><img alt="ハシビロガモ動画" src="http://n-shuhei.net/atelier/photo_birds/120208_0181-thumb-150x100.jpg" width="200" height="133" /></a>

Sample 動画(YouTube)
ハシビロガモ動画

2012年8月26日

隠居のパソコン備忘録: Google Maps API JS V3 での地図でマーカー地点をズームイン・アウトする


 V3 にバージョンアップした Google Maps JS API で旅行地図などを作成することをいろいろとトライしている。
 当サイト内の Studio YAMAKO のオーナーは、お住まいの横浜近郊はもちろんのこと、海外をも含めて様々なところを旅行され、それぞれの地点での綺麗な写真をブログにUPされている。
 旅行先を一枚の地図で表示することは無理なので、海外旅行については、その都度旅行先の地図を作って表示させてもらっているが、国内旅行については、年度別に、一枚の日本地図にプロットしている。(例:2011年旅行地図) だが、これでは地図が大まかすぎて、訪問先地点毎に、コントロールを使って、ズームインと地図の移動をする必要がある。

 それで何か良いサンプルはないかと探ってみると、Google Maps API links に、V2 で作成されたMike Williams' tutorial の The Basics - Part 3: Loading the data from an XML file with added "Zoom To, Zoom In, Zoom Out links in infowindow V3 に書き換えたサンプルコードが見つかった。
 2011年旅行地図では、隠居のパソコン備忘録: Google Maps API JS V3 でXML ファイルを読み込むに記録したサンプルコードを使った。今回のコードは、そのコードに、Zoom in・out の機能を付け加えたものである。呼び込んでくる XML ファイルは、同じ形式である。サンプルコードには、XML ファイルに zoom というタグが組み込まれていたが、なしでも機能するようである。
 2012年の旅行地図では、このコードを使った。見た目は、2011年旅行地図と変わらないが、地点をクリックして出てくる吹きだし(infowindow)に、表示される Zoom to [+] [-] をクリックすると、その地点が地図の中心となる。 さらに、[+] をクリックしていくと、Zoom が一段ずつUPする。2011年旅行地図に比べれば、少し改良された。
 下は、そのコードである。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps Javascript API v3 Example: Loading the data from an XML</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="http://xxxxxxxxxx/JSlibrary/downloadxml.js"></script>
<style type="text/css">
html, body { height: 100%; } 
</style>
<script type="text/javascript"> 
//<![CDATA[
      // this variable will collect the html which will eventually be placed in the side_bar 
      var side_bar_html = ""; 
      // arrays to hold copies of the markers and html used by the side_bar 
      // because the function closure trick doesnt work there 
      var gmarkers = []; 
     // global "map" variable
      var map = null;
// A function to create the marker and set up the event window function 
function createMarker(latlng, name, html, zoom) {
    var contentString = html;
    // add the zoom links
    contentString += '<br><a  href="javascript:map.setCenter(new google.maps.LatLng('+latlng.toUrlValue(6)+')); map.setZoom('+zoom+');">Zoom To</a>';
    contentString += ' - <a  href="javascript:map.setCenter(new google.maps.LatLng('+latlng.toUrlValue(6)+')); map.setZoom(parseInt(map.getZoom())+1);">[+]</a>';
    contentString += ' - <a  href="javascript:map.setCenter(new google.maps.LatLng('+latlng.toUrlValue(6)+')); map.setZoom(parseInt(map.getZoom())-1);">[-]</a>';

    var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        icon: new google.maps.MarkerImage('http://labs.google.com/ridefinder/images/mm_20_blue.png'),         
        zIndex: Math.round(latlng.lat()*-100000)<<5
        });
    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(contentString); 
        infowindow.open(map,marker);
        });
    marker.MyZoom = zoom;
    // save the info we need to use later for the side_bar
    gmarkers.push(marker);
    // add a line to the side_bar html
    side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br>';
}
// This function picks up the click and opens the corresponding info window
function myclick(i) {
  google.maps.event.trigger(gmarkers[i], "click");
}
function initialize() {
  // create the map
  var myOptions = {
    zoom: 8,
    center: new google.maps.LatLng(34.717876,137.851424),
    mapTypeControl: true,
    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
    navigationControl: true,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  map = new google.maps.Map(document.getElementById("map_canvas"),
                                myOptions);
  google.maps.event.addListener(map, 'click', function() {
        infowindow.close();
        });
      // Read the data from example.xml
      downloadUrl("http://xxxxxxxx/xxxxxxxxx/xxxx/V3_yamako_2012.xml", function(doc) {
        var xmlDoc = xmlParse(doc);
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {
          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new google.maps.LatLng(lat,lng);
          var html = markers[i].getAttribute("html");
          var label = markers[i].getAttribute("label");
          var zoom = markers[i].getAttribute("zoom");
          if (!zoom) zoom = 15;
          // create the marker
          var marker = createMarker(point,label,html,zoom);
        }
        // put the assembled side_bar_html contents into the side_bar div
        document.getElementById("side_bar").innerHTML = side_bar_html;
      });
    }

var infowindow = new google.maps.InfoWindow(
  { 
//    size: new google.maps.Size(150,100),
    maxWidth: 450
  });

    // This Javascript is based on code provided by the
    // Community Church Javascript Team
    // http://www.bisphamchurch.org.uk/   
    // http://econym.org.uk/gmap/
    // from the v2 tutorial page at:
    // http://econym.org.uk/gmap/basic3.htm 
//]]>

</script> 
  </head> 

<body style="margin:0px; padding:0px;" onload="initialize()"> 
    <!-- you can use tables or divs for the overall layout --> 
     <table border="1"> 
<tr>
<td bgcolor="#FFFFCC" align="center" colspan="2"><font color="#000000"><strong><big>Yamako 国内旅行地図:2012年
</big></strong><br /></font></td></tr>      
<tr> 
        <td> 
           <div id="map_canvas" style="width: 780px; height: 820px"></div> 
        </td> 
        <td width = 220 valign="top"  bgcolor="#ffffe0" style="text-decoration: underline; color: #000000; font-size: small;" >
           <div id="side_bar"></div> 
        </td> 
      </tr> 
    </table> 


    <noscript><p><b>JavaScript must be enabled in order for you to use Google Maps.</b> 
      However, it seems JavaScript is either disabled or not supported by your browser. 
      To view Google Maps, enable JavaScript by changing your browser options, and then 
      try again.</p>
    </noscript> 

  </body> 
</html> 


2012年7月29日

隠居のパソコン備忘録: Google Maps API V3 で Polyline を描く


 自作地図を作成するのに便利していた Google Maps API のバージョンが、 V2 から V3 に大幅に変更され、来年5月には V2 で作成した地図が動かなくなりそうだということは、隠居のパソコン備忘録:Google Maps API V3 で旅行地図を作成するで、記録した。

 Studio YAMAKO のオーナーが、この2~3年に海外旅行した時の地図には、旅程を表す Polyline を表示している。これも、V3 になると書き換えなければならない。V2 では、XML ファイルに訪れた地点の経度・緯度を書き込んでおくと Polyline を描いてくれる sample code があったが、V3 では、そのような sample code は、ヒットしなかった。
 【Google Maps JavaScript API V3の使い方】というサイトに、【ポリラインの表示】というぺーじがあり、polyline を描くための訪問地点の経度・緯度を Javascript に直接記入する方法が紹介されていた。このサンプル・コードを参考に、先日記録した【Google Maps API JS V3 でXML ファイルを読み込む】の Javascript コードに追加してみると上手く動くことが分かった。老人の備忘録として、「トルコ周遊8日間の旅」の地図のコードを記録としておきたい。下のコードの青字部分が Polyline 表示のために追加した部分である。
 訪問地点の経度・緯度は、V2 のときに使っていた XML ファイルの中からコピーしてきた。記述する部分は少ないので、XML ファイルにする必要性はあまりない。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps Javascript API v3 Example: Loading the data from an XML</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="http://n-shuhei.net/JSlibrary/downloadxml.js"></script>

<style type="text/css">
html, body { height: 100%; } 
</style>

<script type="text/javascript"> 
//<![CDATA[
// this variable will collect the html which will eventually be placed in the side_bar 
      var side_bar_html = ""; 

      // arrays to hold copies of the markers and html used by the side_bar 
     // because the function closure trick doesnt work there 

      var gmarkers = []; 

     // global "map" variable
      var map = null;

// A function to create the marker and set up the event window function 
function createMarker(latlng, name, html) {
    var contentString = html;
    var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        zIndex: Math.round(latlng.lat()*-100000)<<5
        });

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(contentString); 
        infowindow.open(map,marker);
        });

    // save the info we need to use later for the side_bar
    gmarkers.push(marker);

    // add a line to the side_bar html
    side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br>';
}

// This function picks up the click and opens the corresponding info window
function myclick(i) {
  google.maps.event.trigger(gmarkers[i], "click");
}

function initialize() {
  // create the map
  var myOptions = {
    zoom: 6,
    center: new google.maps.LatLng(39.436193,29.86908),
    mapTypeControl: true,
    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
    navigationControl: true,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }

  map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

  google.maps.event.addListener(map, 'click', function() {
        infowindow.close();
        });

      // Read the data from hachi.xml
      downloadUrl("V3_maps_Turkey.xml", function(doc) {
        var xmlDoc = xmlParse(doc);
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {

          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new google.maps.LatLng(lat,lng);
          var html = markers[i].getAttribute("html");
          var label = markers[i].getAttribute("label");

          // create the marker
          var marker = createMarker(point,label,html);
        }

      // put the assembled side_bar_html contents into the side_bar div
        document.getElementById("side_bar").innerHTML = side_bar_html;

// Polyline 表示の追加 ここから     
    var drivePlan = [
      new google.maps.LatLng(40.010787, 26.279297),
      new google.maps.LatLng(39.317035, 26.703644),
      new google.maps.LatLng(37.947176, 27.342567),
      new google.maps.LatLng(37.914409, 29.120979),
      new google.maps.LatLng(37.882441, 32.485199),
      new google.maps.LatLng(38.376115, 34.002686),
      new google.maps.LatLng(38.533127, 34.433899),
      new google.maps.LatLng(38.627063, 34.720917),
      new google.maps.LatLng(38.772019, 35.490303),
      new google.maps.LatLng(41.013066, 28.975067),
      new google.maps.LatLng(40.010787, 26.279297)
    ];
    var drivePath = new google.maps.Polyline({
      path: drivePlan,
      strokeColor: "#FF0000",
      strokeOpacity: 1.0,
      strokeWeight: 2
    });
      drivePath.setMap(map);
// ここまで 

      });
    }

var infowindow = new google.maps.InfoWindow(
  { 
//    size:  new google.maps.Size(200,50)
  });

//]]>

</script> 
  </head> 

<body style="margin:0px; padding:0px;" onload="initialize()"> 

<table border="1"> <tr>
<td bgcolor="#FFFFCC" align="center" colspan="2"><font color="#000000"><strong><big>「洞窟ホテルに泊まる!トルコハイライト周遊8日間」の旅</big></strong></font></td></tr>      
<tr><td> 
    <div id="map_canvas" style="width: 800px; height: 600px"></div> 
    </td> 
    <td width = 200 valign="top" bgcolor="#ffffcc" >
左の地図は、Google Mapsの機能を持っています。拡大・縮小・移動ができます。下の地名をクリックすると該当位置に吹き出しが出ます。吹き出しの中のリンクをクリックすると詳細地図あるいは関連投稿に飛びます。<br /><br />
    <div id="side_bar"style="text-decoration: underline; color: #000000; font-size: small;"></div> 
    </td></tr></table> 

    <noscript><p><b>JavaScript must be enabled in order for you to use Google Maps.</b> 
      However, it seems JavaScript is either disabled or not supported by your browser. 
      To view Google Maps, enable JavaScript by changing your browser options, and then 
      try again.</p>
    </noscript> 

  </body> 
</html> 


2012年7月21日

隠居のパソコン備忘録: Google Maps API JS V3 でXML ファイルを読み込む

 
 自作地図を作成するのに便利していた Google Maps API のバージョンが、 V2 から V3 に大幅に変更され、来年5月には V2 で作成した地図が動かなくなりそうだということは、隠居のパソコン備忘録:Google Maps API V3 で旅行地図を作成するで、記録した。

  V2 で作成した多くの地図では、外部ファイルである XML ファイルを読み込んでマーカを立てる地点やマーカをクリックすると出てくる吹きだしの中に、リンク先などの情報を表示していた。年間の旅行先などマーカが順次増える場合には、XML ファイルに経度・緯度や必要なリンクを書き足すだけでいいので便利をしていた。
 今まで V2 で作成してきた地図を V3 にバージョンアップして XML ファイルを読み込むためのサンプル・コードを探し回したが、適切なコードが見つからなかった。一から、作成する能力はからきしない。途方に暮れて、上のブログに記録した前回の方法で、XML ファイルを使わず直接 JavaScript に書き込むことも挑戦しかけたが途方も無い作業のようなのでやめて、今までの XML ファイルが使えそうなサンプル・コードで、再度粘ってみることにした。

 拝借したサンプル・コードは、上のブログに記録した前回の方法ときにも拝借した、【Using the Google Maps API v3】 というページにある【lLoading the data from an XML file translated to v3】のソース・コードである。
 V3 のGoogle Maps API にXML ファイルを読み込む方法は、多くの場合、前回に lightbox 2.51 の導入で紹介した JavaScript のライブラリー jQuery が使われている。拝借したサンプル・コードでは、jQuery ではなく、downloadxml.js というライブラリーが使われている。どうも、jQuery の方が本流らしいが、私にとっては、V3 で今までの XML ファイルが使えるサンプル・コードの方がありがたい。
 一週間以上かなりの時間を使って粘った甲斐があって、下のようなコードで XML が読み込めるようになった。
 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps Javascript API v3 Example: Loading the data from an XML</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="http://n-shuhei.net/XXXXX/XXX/XXXXX/downloadxml.js"></script>

<style type="text/css">
html, body { height: 100%; } 
</style>

<script type="text/javascript"> 
//<![CDATA[
// this variable will collect the html which will eventually be placed in the side_bar 
      var side_bar_html = ""; 

      // arrays to hold copies of the markers and html used by the side_bar 
     // because the function closure trick doesnt work there 

      var gmarkers = []; 

     // global "map" variable
      var map = null;

// A function to create the marker and set up the event window function 
function createMarker(latlng, name, html) {
    var contentString = html;
    var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        zIndex: Math.round(latlng.lat()*-100000)<<5
        });

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(contentString); 
        infowindow.open(map,marker);
        });

    // save the info we need to use later for the side_bar
    gmarkers.push(marker);

    // add a line to the side_bar html
    side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br>';
}

// This function picks up the click and opens the corresponding info window
function myclick(i) {
  google.maps.event.trigger(gmarkers[i], "click");
}

function initialize() {
  // create the map
  var myOptions = {
    zoom: 12,
    center: new google.maps.LatLng(35.377556,134.534862),
    mapTypeControl: true,
    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
    navigationControl: true,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }

  map = new google.maps.Map(document.getElementById("map_canvas"),
                                myOptions);

  google.maps.event.addListener(map, 'click', function() {
        infowindow.close();
        });

      // Read the data from hachi.xml
      downloadUrl("hachi.xml", function(doc) {
        var xmlDoc = xmlParse(doc);
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {

          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new google.maps.LatLng(lat,lng);
          var html = markers[i].getAttribute("html");
          var label = markers[i].getAttribute("label");

          // create the marker
          var marker = createMarker(point,label,html);
        }

        // put the assembled side_bar_html contents into the side_bar div
        document.getElementById("side_bar").innerHTML = side_bar_html;
      });
    }

var infowindow = new google.maps.InfoWindow(
  { 
//    size:  new google.maps.Size(200,50)
  });

    // This Javascript is based on code provided by the
    // Community Church Javascript Team
    // http://www.bisphamchurch.org.uk/   
    // http://econym.org.uk/gmap/
    // from the v2 tutorial page at:
    // http://econym.org.uk/gmap/basic3.htm 

//]]>

</script> 
  </head> 

<body style="margin:0px; padding:0px;" onload="initialize()"> 

    <!-- you can use tables or divs for the overall layout --> 
    <table border="1"> 
<tr>
<td bgcolor="#FFFFCC" align="center" colspan="2"><font color="#000000"><strong><big>ハチ高原近辺私的観光地図</big></strong><br /></font></td></tr>      
<tr> 
        <td> 
           <div id="map_canvas" style="width: 800px; height: 600px"></div> 
        </td> 
        <td width = 200 valign="top"  bgcolor="#ffffe0" style="text-decoration: underline; color: #000000; font-size: small;" >
<!--<td valign="top" style="width:150px; text-decoration: underline; color: #4444ff;">-->
           <div id="side_bar"></div> 
        </td> 
      </tr> 
    </table> 

    <noscript><p><b>JavaScript must be enabled in order for you to use Google Maps.</b> 
      However, it seems JavaScript is either disabled or not supported by your browser. 
      To view Google Maps, enable JavaScript by changing your browser options, and then 
      try again.</p>
    </noscript> 

  </body> 
</html> 
サンプル地図

 試行錯誤は、拡張子の前につける . (ピリオド)が抜けていたり、ファイルのアップロード先を間違ったりなど実に単純なミスの連続であった。
 とくに、Geekなぺーじの【Google MAPS JavaScript APIでのデバッグ】にも書かれているように、日本語コードで最後までつまづいた。V2 のときには、Shift-JIS でも OK だったXML ファイルが、UTF-8 でないとエラーを起こすというより、全く読んでくれない。
 この試行錯誤のお陰で、Google Maps API について、少し理解が深まったが、JavaScript に十分な知識がない老人にはやっぱり難解な世界である。中断していた JavaScript の学習も再開せねばと思うが、なにしろやりたいことが多すぎる。
 来年5月までに、順次 V2 の地図を V3 にしていくつもりである。